package appapi.entity.bridge;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.time.LocalDateTime;
import java.io.Serializable;

/**
 * 设备信息表（黑匣子）(IotDevice)实体类
 *
 * @author hlm
 * @since
 */
@Data
@ApiModel
@TableName("iot_device")
public class IotDevice implements Serializable {
    private static final long serialVersionUID = -44851372536066924L;
    /**
     * 自编号
     */
    @ApiModelProperty(value = "自编号deviceId")
    @TableId(value = "device_id" , type = IdType.AUTO)
    private Long deviceId;
    /**
     * 设备序列号
     */
    @ApiModelProperty(value = "设备Sn号")
    private String deviceSn;
    /**
     * 现场编号
     */
    @ApiModelProperty(value = "现场编号")
    private String deviceNo;
    /**
     * 设备名称
     */
    @ApiModelProperty(value = "设备名称")
    private String deviceName;
    /**
     * 设备类型 0:塔吊 1:升降机 2:龙门吊 3:架桥机 4:爬模 5:挂篮
     */
    @ApiModelProperty(value = "设备类型 0:塔吊 1:升降机 2:龙门吊 3:架桥机 4:爬模 5:挂篮 ")
    private Integer deviceType;
    /**
     * 设备型号
     */
    @ApiModelProperty(value = "设备型号")
    private String deviceModel;
    /**
     * 设备IP地址
     */
    @ApiModelProperty(value = "设备IP地址")
    private String deviceIp;
    /**
     * 所属设备
     */
    @ApiModelProperty(value = "所属设备")
    private Long equipId;
    /**
     * 设备状态
     */
    @ApiModelProperty(value = "设备状态(0:正常 1:停用 2:损坏)")
    private Integer deviceStatus;
    /**
     * 在线状态
     */
    @ApiModelProperty(value = "在线状态(0:在线 1:离线)")
    private Integer deviceOnline;
    /**
     * 设备位置
     */
    @ApiModelProperty(value = "设备位置")
    private String devicePosition;
    /**
     * 固件版本
     */
    @ApiModelProperty(value = "固件版本")
    private String deviceVersion;
    /**
     * 备注
     */
    @ApiModelProperty(value = "备注")
    private String deviceRemark;
    /**
     * 创建人
     */
    @ApiModelProperty(value = "创建人")
    private Long createUser;
    /**
     * 创建时间
     */
    @ApiModelProperty(value = "创建时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createTime;
    /**
     * 最后修改人
     */
    @ApiModelProperty(value = "最后修改人")
    private Long lastModifyUser;
    /**
     * 最后修改时间
     */
    @ApiModelProperty(value = "最后修改时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime lastModifyTime;
    /**
     * 删除标志
     */
    @ApiModelProperty(value = "删除标志(0:未删除 1:删除)")
    private Integer deleteFlag;
    /**
     * 设备厂家
     */
    @ApiModelProperty(value = "设备厂家")
    private String deviceFactory;
    /**
     * 设备来源
     */
    @ApiModelProperty(value = "设备来源")
    private String deviceSource;

    /**
     * 所属项目
     */
    @ApiModelProperty(value = "所属项目")
    private Integer projId;


    /**
     * 摄像头序列号
     */
    @ApiModelProperty(value = "摄像头序列号")
    private String serialNumber;

}

